class Solution {
public:
    bool lemonadeChange(vector<int>& bills) {
        int a=0;//5
        int b=0;//10
        int c=0;//20
        int sz=bills.size();
        for(int i=0;i<sz;++i)
        {
            int num=bills[i];
            if(num==20)
            {
                if(b&&a)
                {
                    b--;
                    a--;
                    c++;
                }
                else if(a>3||a==3)
                {
                    a-=3;
                    c++;
                }
                else
                    return false;
            }
            if(num==10)
            {
                if(a)
                {
                    a--;
                    b++;
                }
                else
                    return false;
            }
            if(num==5)
                a++;
        }
        return true;
    }
};
